package net.pws.oos.biz.query;

import java.util.Date;
import java.util.List;
import java.util.Map;

import net.pws.oos.biz.model.Checkin;
import net.pws.oos.biz.query.parameter.CheckinQueryParameter;

@SuppressWarnings("rawtypes")
public interface CheckinFinder {

	public List<Checkin> list(String userId, Date start, Date end);
	
	public List<Checkin> list(CheckinQueryParameter queryParameter);
	
	/**
	 * 判断是否已有签到
	 * @param userId	
	 * @param type
	 * @param date
	 * @return
	 */
	public boolean hasCheckin(String userId, String type, Date date);
	
	/**
	 * 获得签到信息，并加载lazy-load相关信息
	 * @param id
	 * @return
	 */
	public Checkin get(String id);
	
	/**
	 * 根据参数查询签到数据
     * @param queryParameter
     * @return
     */
    public int countCheckin(CheckinQueryParameter queryParameter);
    
    public List<Map> getCheckinList(CheckinQueryParameter queryParameter, int start, int limit);
}
